interface DebugRunOptions {
  reverse?: boolean
  debug?: boolean
}

/**
 *
 * @param fn 回调函数
 * @param options:  { reverse: 是否翻转 debug: 是否为debug模式 }
 * Example: debug模式执行
  debugRun(() => {
    message.destroy()
    message.info(`单图模式: ${e.node.title}`)
  },{debug: true})
 * Example: 非debug模式执行
  debugRun(() => {
    message.destroy()
    message.info(`单图模式: ${e.node.title}`)
  }, true)
 */
export const debugRun = (fn?: () => void, options: DebugRunOptions = { reverse: false, debug: false }) => {
  const opts = Object.assign({ reverse: false, debug: false }, options)
  if (opts.reverse && !opts.debug) {
    fn && fn()
  }
  if (!opts.reverse && opts.debug) {
    fn && fn()
  }
}
